package com.briup.oagg.dataset.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.briup.oagg.dataset.bean.basic.Zone;
import com.baomidou.mybatisplus.extension.service.IService;
import com.briup.oagg.dataset.web.vm.ZoneAddVM;
import com.briup.oagg.dataset.web.vm.ZoneUpdateVM;

import java.util.List;

/**
 * 区带信息业务逻辑接口
 *
 * @author briup
 */
public interface IZoneService extends IService<Zone> {
    /**
     * 新增区带信息
     * @param vm  新增参数
     */
    void addZone(ZoneAddVM vm);

    /**
     * 修改区带信息
     * @param vm 修改参数
     */
    void updateZone(ZoneUpdateVM vm);

    /**
     * 根据区带编号删除区带及其对应的圈闭信息
     * @param zoneId 区带编号
     */
    void deleteById(String zoneId);

    /**
     * 分页多条件查询区带信息
     * @param basinId 区带编号
     * @param pageNum 当前页码
     * @param pageSize 每页大小
     * @return 区带分页信息
     */
    Page<Zone> findByPage(String basinId,Integer pageNum,Integer pageSize);

    /**
     * 统计所有区带数量
     * @return 区带总数
     */
    int countNum();
}